Manipulators and in particular articulated arm robots are user-programmable, software-controlled handling devices. The manipulator can consist of a certain number of movable, sequentially linked members or axes that define the kinematic chain of the manipulator. The kinematic chain typically extends from the manipulator base to the flange of the manipulator, or, if present, to a tool connected with the flange.
The individual axes of the manipulator are moved in this case by deliberately controlling drives that are connected with the individual components of the manipulator. While programming the manipulator software, certain parameters, such as velocity, can be specified for a motion between individual points.
A known manipulator and an associated control method have been disclosed in the U.S. disclosure filing 2008/0245175 A1.
An internal company method is known wherein a manipulator is guided by hand; an operator in this case actuates a release switch and then grabs the manipulator at one of its members or on the flange and/or the tool connected with the flange (end effector) and guides the manipulator to its desired position. This involves using a so-called gravitational compensation to intuitively guide the manipulator by touch into the desired position, wherein the internal torque sensors of the manipulators are used.
For instance, the torque sensors detect when an external force acts on the manipulator. Based on the (dynamic) model that describes the configuration and the function of the manipulator, the controller of the manipulator can determine whether this acting force is e.g. based on that gravity that acts on the members of the manipulator, or whether the acting force is an additional, external force. Once the controller detects this, it releases the manipulator and the operator can very easily move the manipulator by touch. Stated more accurately, the manipulator's controller relies on the detected forces to determine the direction into which the manipulator is to be moved and sends appropriate control signals to the actuators for the relevant axes of the manipulator. Since the manipulator is typically released fully, a series of measures are required to prevent the manipulator from becoming “uncontrollable”. The known measures are primarily limited to validating the dynamic model (e.g. by means of load measurements on the flange and gravitational direction). In this case, the drive torque must match the modelled torques down to a comparatively small error, as is discussed in detail below.
The known methods are accompanied by certain disadvantages. On the one hand, it is easily possible that the manipulator “drifts”. This drift is particularly disadvantageous in the initially described method since the manipulator is released immediately as soon as an acknowledgement key—or the like—is pressed. Moreover, the known methods cannot differentiate between jam situations (e.g. following a crash) and model errors. The manipulator would accelerate very quickly if the manipulator were to be released with a model error as large as those typical for a jam, which can have negative or even catastrophic consequences for the completed operation and also for the operator located in the immediate vicinity.
The object of the present invention is then to provide a method that supports a particularly robust control of a manipulator, in particular an articulated arm robot. Yet another object of the present invention is to provide a particularly intuitive method for controlling a manipulator.
This and other objects, which are highlighted in the following detailed description, are solved by the scope of the independent claims.